/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//		File Name		:		CSaveOrLoadState.h
//
//		Author			:		Vindicated Games
//
//		Purpose			:		Encapsulate all functionality of the SaveOrLoadState
//
//		Dates			:		Written( Feb 17, 2011 ) by Vindicated Games		LastUpdate( Feb 17, 2011  ) by Vindicated Games 
//	
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#ifndef SAVELOAD_STATE_H_
#define SAVELOAD_STATE_H_

#include "../Game States/IBaseState.h"
#include "../Core/CPlayerProfile.h"



class CSaveOrLoadState : public IBaseState
{


private:

	CPlayerProfile SaveSlot[3];
	CPlayerProfile pps;

	int ImageID;
	int m_nSelectionMenu;
	int m_nSelection;
	bool m_bIsSaving;
	bool m_bIsLoading;
	bool m_bUpdate;

	CSaveOrLoadState();
	~CSaveOrLoadState();
	CSaveOrLoadState(const CSaveOrLoadState& copy);
	CSaveOrLoadState& operator =(const CSaveOrLoadState& assign);




public:

	static CSaveOrLoadState* GetInstance();

	void Enter();
	bool Input();
	void Update( float fElapsedTime);
	void Render();
	void Exit();

	void WriteOut( int SlotToSave);
	void ReadIn( int SlotToLoad );
	void CommitToPlayer(int SlotToLoad );
};
#endif